package com.zros.modules.business.vo;

import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zros.modules.business.entity.ClueCour;

public class ClueInfoVo {
private static final long serialVersionUID = 1L;
    
    //1.基本信息
	//因为long型数据太长
    private String clueId;
    
    //创建线索者id
    private String creator;
    
    //线索创建者名称
    private String createUserName;
    
    //校区id
    private String orgId;
    
    //校区Name
    private String orgName;
    
    //线索创建当前时间，咨询时间
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    
    //渠道id
    private Long channelId;
    private Long channelType;
    private String channelName;
    private String channelTypeName;
    
    //渠道类型id
    private String channelTypeId;
    
    //vue筛选组件
    private List<String> channelIdList;
    
    //线索客户姓名
    private String customerName;

    //线索客户年龄
    private String customerAge;

    //线索客户性别
    private String customerGender;

    //线索客户电话
    private String customerPhone;

    //线索备注
    private String customerRemark;

    //承诺到访状态 0:否；1:是
    private String isPromiseVisit;

    //承诺到访日期
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
    private LocalDate promiseVisitDate;

    //确定到访状态 0:否；1:是
    private String isSureVisit;

    //确定到访时间
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="HH:mm:ss")
    private LocalTime sureVisitDate;

    //是否到访状态 0:否；1:是
    private String isVisit;

    //未到访原因
    private String noVisitReason;

    //到访时间
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime visitTime;

    //是否试听状态 0:否；1:是
    private String isAudition;
    
    //是否报名状态 0:否；1:是
    private String isEnroll;

    //未报名原因未报名状态码 0:暂时不选；1:距离远；2:价格高；3:有更好选择；4:其他
    private String noEnrollReason;

    //未报名原因补充
    private String noEnrollReasonRemark;

    //是否为有效线索状态 0:否；1:是
    private String isAvailable;
    
    //是否为有效线索状态 0:否；1:是----->文字
    private String isAvailableText;

    //线索状态码 0:默认；1:有需求；2:有意向；3:有望成交；4:无法联系；5:无需求；6:号码错误
    private String clueStatusCode;
    
    //线索状态码 0:默认；1:有需求；2:有意向；3:有望成交；4:无法联系；5:无需求；6:号码错误----->文字
    private String clueStatusCodeText;

    @ApiModelProperty(value = "跟进次数")
    private Integer updateCount;
    
    //下次跟进日期
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
    private LocalDate nextFollowTime;

    //是否置顶状态 0:否；1:是
    private String isTop;

    private String ownerId;

    //最后跟进时间
    private LocalDateTime lastFollowTime;

    private Long operator;

    //修改时间
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

    private String delFlag;

    private String remark;
    
    //2.咨询信息
    List<String> clueCourIdList;
    List<ClueCour> clueCourList;
    //4.试听信息
    List<AuditionVo> auditionList = new ArrayList<AuditionVo>();
    //5.报名信息
    List<EnrollCourseVo> enrollCourseList = new ArrayList<EnrollCourseVo>();
    //6.跟进信息
    List<UpdateRecordVo> updateRecordList = new ArrayList<UpdateRecordVo>();
    
    /*
     * 转换显示名称
     * */
    
    //咨询名字点击展开列表
    private String consultCourseNames;
    
    //课程名字点击展开列表
    private String auditonCourseNames;
    
    //课程名字/报名金额 点击展开列表
    private String enrollCourseNames;
    
    //转换成汉字 createUserName
    private String creatorName;
    
    
    private String channelInfo;

    //客户性别
    private String customerGenderName;
    
    //是否承诺到访状态
    private String isPromiseVisitText;
    
    //确定到访状态
    private String isSureVisitText;
    
    //是否到访状态
    private String isVisitText;
    
    private String noVisitReasonText;
    
    //是否试听
    private String isAuditionText;
    
    //是否报名
    private String isEnrollText;
    
    //未报名原因状态码
    private String noEnrollReasonText;
    
    private String clueStatusText;

    private String isTopText;
    
    private String ownerName;
    
    private String operatorName;

	public String getClueId() {
		return clueId;
	}

	public void setClueId(String clueId) {
		this.clueId = clueId;
	}

	public String getCreator() {
		return creator;
	}

	public void setCreator(String creator) {
		this.creator = creator;
	}

	public String getCreateUserName() {
		return createUserName;
	}

	public void setCreateUserName(String createUserName) {
		this.createUserName = createUserName;
	}

	public String getOrgId() {
		return orgId;
	}

	public void setOrgId(String orgId) {
		this.orgId = orgId;
	}

	public String getOrgName() {
		return orgName;
	}

	public void setOrgName(String orgName) {
		this.orgName = orgName;
	}

	public LocalDateTime getCreateTime() {
		return createTime;
	}

	public void setCreateTime(LocalDateTime createTime) {
		this.createTime = createTime;
	}

	public Long getChannelId() {
		return channelId;
	}

	public void setChannelId(Long channelId) {
		this.channelId = channelId;
	}

	public Long getChannelType() {
		return channelType;
	}

	public void setChannelType(Long channelType) {
		this.channelType = channelType;
	}

	public String getChannelName() {
		return channelName;
	}

	public void setChannelName(String channelName) {
		this.channelName = channelName;
	}

	public String getChannelTypeName() {
		return channelTypeName;
	}

	public void setChannelTypeName(String channelTypeName) {
		this.channelTypeName = channelTypeName;
	}

	public List<String> getChannelIdList() {
		return channelIdList;
	}

	public void setChannelIdList(List<String> channelIdList) {
		this.channelIdList = channelIdList;
	}

	public String getCustomerName() {
		return customerName;
	}

	public void setCustomerName(String customerName) {
		this.customerName = customerName;
	}

	public String getCustomerAge() {
		return customerAge;
	}

	public void setCustomerAge(String customerAge) {
		this.customerAge = customerAge;
	}

	public String getCustomerGender() {
		return customerGender;
	}

	public void setCustomerGender(String customerGender) {
		this.customerGender = customerGender;
	}

	public String getCustomerPhone() {
		return customerPhone;
	}

	public void setCustomerPhone(String customerPhone) {
		this.customerPhone = customerPhone;
	}

	public String getCustomerRemark() {
		return customerRemark;
	}

	public void setCustomerRemark(String customerRemark) {
		this.customerRemark = customerRemark;
	}

	public String getIsPromiseVisit() {
		return isPromiseVisit;
	}

	public void setIsPromiseVisit(String isPromiseVisit) {
		this.isPromiseVisit = isPromiseVisit;
	}

	public LocalDate getPromiseVisitDate() {
		return promiseVisitDate;
	}

	public void setPromiseVisitDate(LocalDate promiseVisitDate) {
		this.promiseVisitDate = promiseVisitDate;
	}

	public String getIsSureVisit() {
		return isSureVisit;
	}

	public void setIsSureVisit(String isSureVisit) {
		this.isSureVisit = isSureVisit;
	}

	public LocalTime getSureVisitDate() {
		return sureVisitDate;
	}

	public void setSureVisitDate(LocalTime sureVisitDate) {
		this.sureVisitDate = sureVisitDate;
	}

	public String getIsVisit() {
		return isVisit;
	}

	public void setIsVisit(String isVisit) {
		this.isVisit = isVisit;
	}

	public String getNoVisitReason() {
		return noVisitReason;
	}

	public void setNoVisitReason(String noVisitReason) {
		this.noVisitReason = noVisitReason;
	}

	public LocalDateTime getVisitTime() {
		return visitTime;
	}

	public void setVisitTime(LocalDateTime visitTime) {
		this.visitTime = visitTime;
	}

	public String getIsAudition() {
		return isAudition;
	}

	public void setIsAudition(String isAudition) {
		this.isAudition = isAudition;
	}

	public String getIsEnroll() {
		return isEnroll;
	}

	public void setIsEnroll(String isEnroll) {
		this.isEnroll = isEnroll;
	}

	public String getNoEnrollReason() {
		return noEnrollReason;
	}

	public void setNoEnrollReason(String noEnrollReason) {
		this.noEnrollReason = noEnrollReason;
	}

	public String getNoEnrollReasonRemark() {
		return noEnrollReasonRemark;
	}

	public void setNoEnrollReasonRemark(String noEnrollReasonRemark) {
		this.noEnrollReasonRemark = noEnrollReasonRemark;
	}

	public String getIsAvailable() {
		return isAvailable;
	}

	public void setIsAvailable(String isAvailable) {
		this.isAvailable = isAvailable;
	}

	public String getClueStatusCode() {
		return clueStatusCode;
	}

	public void setClueStatusCode(String clueStatusCode) {
		this.clueStatusCode = clueStatusCode;
	}

	public Integer getUpdateCount() {
		return updateCount;
	}

	public void setUpdateCount(Integer updateCount) {
		this.updateCount = updateCount;
	}

	public LocalDate getNextFollowTime() {
		return nextFollowTime;
	}

	public void setNextFollowTime(LocalDate nextFollowTime) {
		this.nextFollowTime = nextFollowTime;
	}

	public String getIsTop() {
		return isTop;
	}

	public void setIsTop(String isTop) {
		this.isTop = isTop;
	}

	public String getOwnerId() {
		return ownerId;
	}

	public void setOwnerId(String ownerId) {
		this.ownerId = ownerId;
	}

	public LocalDateTime getLastFollowTime() {
		return lastFollowTime;
	}

	public void setLastFollowTime(LocalDateTime lastFollowTime) {
		this.lastFollowTime = lastFollowTime;
	}

	public Long getOperator() {
		return operator;
	}

	public void setOperator(Long operator) {
		this.operator = operator;
	}

	public LocalDateTime getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(LocalDateTime updateTime) {
		this.updateTime = updateTime;
	}

	public String getDelFlag() {
		return delFlag;
	}

	public void setDelFlag(String delFlag) {
		this.delFlag = delFlag;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public List<String> getClueCourIdList() {
		return clueCourIdList;
	}

	public void setClueCourIdList(List<String> clueCourIdList) {
		this.clueCourIdList = clueCourIdList;
	}

	public List<ClueCour> getClueCourList() {
		return clueCourList;
	}

	public void setClueCourList(List<ClueCour> clueCourList) {
		this.clueCourList = clueCourList;
	}

	public List<AuditionVo> getAuditionList() {
		return auditionList;
	}

	public void setAuditionList(List<AuditionVo> auditionList) {
		this.auditionList = auditionList;
	}

	public List<EnrollCourseVo> getEnrollCourseList() {
		return enrollCourseList;
	}

	public void setEnrollCourseList(List<EnrollCourseVo> enrollCourseList) {
		this.enrollCourseList = enrollCourseList;
	}

	public List<UpdateRecordVo> getUpdateRecordList() {
		return updateRecordList;
	}

	public void setUpdateRecordList(List<UpdateRecordVo> updateRecordList) {
		this.updateRecordList = updateRecordList;
	}

	public String getConsultCourseNames() {
		return consultCourseNames;
	}

	public void setConsultCourseNames(String consultCourseNames) {
		this.consultCourseNames = consultCourseNames;
	}

	public String getAuditonCourseNames() {
		return auditonCourseNames;
	}

	public void setAuditonCourseNames(String auditonCourseNames) {
		this.auditonCourseNames = auditonCourseNames;
	}

	public String getEnrollCourseNames() {
		return enrollCourseNames;
	}

	public void setEnrollCourseNames(String enrollCourseNames) {
		this.enrollCourseNames = enrollCourseNames;
	}

	public String getCreatorName() {
		return creatorName;
	}

	public void setCreatorName(String creatorName) {
		this.creatorName = creatorName;
	}

	public String getChannelInfo() {
		return channelInfo;
	}

	public void setChannelInfo(String channelInfo) {
		this.channelInfo = channelInfo;
	}

	public String getCustomerGenderName() {
		return customerGenderName;
	}

	public void setCustomerGenderName(String customerGenderName) {
		this.customerGenderName = customerGenderName;
	}

	public String getIsPromiseVisitText() {
		return isPromiseVisitText;
	}

	public void setIsPromiseVisitText(String isPromiseVisitText) {
		this.isPromiseVisitText = isPromiseVisitText;
	}

	public String getIsSureVisitText() {
		return isSureVisitText;
	}

	public void setIsSureVisitText(String isSureVisitText) {
		this.isSureVisitText = isSureVisitText;
	}

	public String getIsVisitText() {
		return isVisitText;
	}

	public void setIsVisitText(String isVisitText) {
		this.isVisitText = isVisitText;
	}

	public String getNoVisitReasonText() {
		return noVisitReasonText;
	}

	public void setNoVisitReasonText(String noVisitReasonText) {
		this.noVisitReasonText = noVisitReasonText;
	}

	public String getIsAuditionText() {
		return isAuditionText;
	}

	public void setIsAuditionText(String isAuditionText) {
		this.isAuditionText = isAuditionText;
	}

	public String getIsEnrollText() {
		return isEnrollText;
	}

	public void setIsEnrollText(String isEnrollText) {
		this.isEnrollText = isEnrollText;
	}

	public String getNoEnrollReasonText() {
		return noEnrollReasonText;
	}

	public void setNoEnrollReasonText(String noEnrollReasonText) {
		this.noEnrollReasonText = noEnrollReasonText;
	}

	public String getClueStatusText() {
		return clueStatusText;
	}

	public void setClueStatusText(String clueStatusText) {
		this.clueStatusText = clueStatusText;
	}

	public String getIsTopText() {
		return isTopText;
	}

	public void setIsTopText(String isTopText) {
		this.isTopText = isTopText;
	}

	public String getOwnerName() {
		return ownerName;
	}

	public void setOwnerName(String ownerName) {
		this.ownerName = ownerName;
	}

	public String getOperatorName() {
		return operatorName;
	}

	public void setOperatorName(String operatorName) {
		this.operatorName = operatorName;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	public String getIsAvailableText() {
		return isAvailableText;
	}

	public void setIsAvailableText(String isAvailableText) {
		this.isAvailableText = isAvailableText;
	}

	public String getClueStatusCodeText() {
		return clueStatusCodeText;
	}

	public void setClueStatusCodeText(String clueStatusCodeText) {
		this.clueStatusCodeText = clueStatusCodeText;
	}

	public String getChannelTypeId() {
		return channelTypeId;
	}

	public void setChannelTypeId(String channelTypeId) {
		this.channelTypeId = channelTypeId;
	}
    
}
